Network storage standards including iSCSI impose significant communication overhead to realize the promise of high performance network storage. The response to the communication overhead is a class of products that focus on the acceleration of processing communication stateful protocols. For example, companies including Alacritech® develop TCP Offload Engines (TOE) that accelerate the processing of packets associated with network storage by assigning TCP datagram processing responsibilities to an additional TOE module. The TOE modules track stateful connections between applications, users, operating, or other host functions and a network storage device.
Although TOEs are well know, the trend in the network storage industry is to further increase network performance by producing faster accelerator modules as is evidenced by the success of companies including Alacritech. Customers that desire high performance network storage are required to pay additional charges for equipment to process stateful protocols faster. The overhead or the cost of offloading stateful protocol processing will be exacerbated as industry migrates to faster networking infrastructure including Gigabit Ethernet (1000 Mbit), 10 Gigabit Ethernet (10 Gbit), or other forms of high speed communications relying on stateful connections.
The trend in network storage continues to focus on using TCP, a stateful protocol, to transport network storage information. TCP is used largely because of its reliability for transferring data across established connections. In addition, standardized stateful storage protocols including iSCSI require TCP. Unfortunately, the cost of ensuring reliability becomes quite high at higher line rates as mentioned previously which creates more demand for stateful offload engines.
Companies including Zetera™ are moving to stateless protocols to enhance performance without requiring stateful management of connections. Storage network protocols riding on UDP are ideally suited to the block oriented, stateless nature of storage devices. Using stateless protocols improves the connectivity of devices and increases performance due to the lower overhead of protocol stack processing. In general, only the payload and destination information is required when processing stateless network storage packets. For example, a storage device that receives a block-read request does not require information about previous commands, subsequent commands, or other information to conduct the actual read. This allows multiple clients to make many requests simultaneously of the storage device without interfering with each other. The storage device simply performs the read and responds back to the client.
Although stateless protocols out perform stateful protocols for network storage, protocol stacks still incur overhead when processing the stateless protocols. Therefore, it is contemplated that as networking infrastructure continues to improve the number of stateless protocol packets that require processing will increase dramatically thus incurring the overhead cost of packet processing similar to what has occurred with TCP at lower line rates. Therefore, it is expected that stateless accelerator modules (SAM) could aid in processing storage protocols that utilize a stateless protocol.
The following patents attempt to address the need for accelerating packet processing:                U.S. Pat. No. 5,937,169 titled “Offload of TCP segmentation to a smart adapter” assigned to 3Com Corporation.        U.S. Pat. No. 6,157,955 titled “Packet processing system including a policy engine having a classification unit” assigned to Intel Corporation.        U.S. Pat. No. 6,246,683 titled “Receive processing with network protocol bypass” assigned to 3Com Corporation.        U.S. Pat. No. 6,601,101 titled “Transparent access to network attached devices” assigned to 3Com Corporation.        U.S. Pat. No. 6,947,430 titled “Network adapter with embedded deep packet processing”        
These patents collectively teach offloading protocol processing for stateful processing and in some cases handling transport layer processing for storage devices. The stateful processing includes handling for flow control, for application specific information, or specifically for TCP state information. Because the trend in the market is to address stateful protocols including TCP or iSCSI, none of the related art addresses offloading stateless protocols used for network storage utilizing destination contexts.
Therefore, there remains a considerable need for apparatus and methods to accelerate stateless protocol processing for network storage as stateless protocols subtend larger market share or as high bandwidth networks are deployed. To fully realize the benefits of a SAM, a solution would require the following elements:                A network interface that receives or transmits stateless protocol packets over a network        A host interface the exchanges packets with the host        Accelerates packet processing by passing packets through a filter function that determines the disposition of packets based on stored contexts relating to the destination of the packets        
SAMs address the need for stateless protocol offloading differently than modules that handle stateful protocol processing. Stateful protocol processing modules are forced to handle session information as well as state information which limit the extent of the offloading. For example, a TOE can handle routine processing including flow control, sequence numbers, or acknowledgement numbers, but can not handle complex situations where a full TCP/IP stack is required including session construction. Therefore, modules similar to TOEs incur additional overhead to determine which packets are fast-path packets and which packets are slow-path packets when interacting with a network storage device. However, SAMs require no session construction, no state information, no retransmit logic, or no window probes. Rather SAMs use the context of the destination to aid in the elimination of the communication stack overhead; consequently, substantially all network storage device packets are fast-path packets.